#ifdef _WIN32
#pragma warning(disable:4164 4003)
#endif 
# 1 "../smithwaterman.cu"
# 203 "/usr/include/math.h" 3
enum __E1 {
FP_NAN,

FP_INFINITE,

FP_ZERO,

FP_SUBNORMAL,

FP_NORMAL};
# 296 "/usr/include/math.h" 3
enum _LIB_VERSION_TYPE {
_IEEE_ = (-1),
_SVID_,
_XOPEN_,
_POSIX_,
_ISOC_};
# 124 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E2 { _ZNSt9__is_voidIvE7__valueE = 1};
# 144 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E3 { _ZNSt12__is_integerIbE7__valueE = 1};
# 151 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E4 { _ZNSt12__is_integerIcE7__valueE = 1};
# 158 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E5 { _ZNSt12__is_integerIaE7__valueE = 1};
# 165 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E6 { _ZNSt12__is_integerIhE7__valueE = 1};
# 173 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E7 { _ZNSt12__is_integerIwE7__valueE = 1};
# 197 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E8 { _ZNSt12__is_integerIsE7__valueE = 1};
# 204 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E9 { _ZNSt12__is_integerItE7__valueE = 1};
# 211 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E10 { _ZNSt12__is_integerIiE7__valueE = 1};
# 218 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E11 { _ZNSt12__is_integerIjE7__valueE = 1};
# 225 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E12 { _ZNSt12__is_integerIlE7__valueE = 1};
# 232 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E13 { _ZNSt12__is_integerImE7__valueE = 1};
# 239 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E14 { _ZNSt12__is_integerIxE7__valueE = 1};
# 246 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E15 { _ZNSt12__is_integerIyE7__valueE = 1};
# 264 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E16 { _ZNSt13__is_floatingIfE7__valueE = 1};
# 271 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E17 { _ZNSt13__is_floatingIdE7__valueE = 1};
# 278 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E18 { _ZNSt13__is_floatingIeE7__valueE = 1};
# 354 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E19 { _ZNSt9__is_charIcE7__valueE = 1};
# 362 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E20 { _ZNSt9__is_charIwE7__valueE = 1};
# 377 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E21 { _ZNSt9__is_byteIcE7__valueE = 1};
# 384 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E22 { _ZNSt9__is_byteIaE7__valueE = 1};
# 391 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E23 { _ZNSt9__is_byteIhE7__valueE = 1};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li1EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li1EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li2EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li2EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li3EL19cudaTextureReadMode0EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li3EL19cudaTextureReadMode1EE;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li3EL19cudaTextureReadMode1EE;
# 206 "/usr/include/libio.h" 3
enum __codecvt_result {

__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv};
# 271 "/usr/include/libio.h" 3
struct _IO_FILE;
# 60 "/opt/cuda/C/common/inc/cutil.h"
enum CUTBoolean {

CUTFalse,
CUTTrue};
# 87 "/opt/cuda/bin/../include/cuda.h"
enum CUctx_flags_enum {
CU_CTX_SCHED_AUTO,
CU_CTX_SCHED_SPIN,
CU_CTX_SCHED_YIELD,
CU_CTX_SCHED_MASK,
CU_CTX_BLOCKING_SYNC,
CU_CTX_MAP_HOST = 8,
CU_CTX_LMEM_RESIZE_TO_MAX = 16,
CU_CTX_FLAGS_MASK = 31};





enum CUevent_flags_enum {
CU_EVENT_DEFAULT,
CU_EVENT_BLOCKING_SYNC};





enum CUarray_format_enum {
CU_AD_FORMAT_UNSIGNED_INT8 = 1,
CU_AD_FORMAT_UNSIGNED_INT16,
CU_AD_FORMAT_UNSIGNED_INT32,
CU_AD_FORMAT_SIGNED_INT8 = 8,
CU_AD_FORMAT_SIGNED_INT16,
CU_AD_FORMAT_SIGNED_INT32,
CU_AD_FORMAT_HALF = 16,
CU_AD_FORMAT_FLOAT = 32};





enum CUaddress_mode_enum {
CU_TR_ADDRESS_MODE_WRAP,
CU_TR_ADDRESS_MODE_CLAMP,
CU_TR_ADDRESS_MODE_MIRROR};





enum CUfilter_mode_enum {
CU_TR_FILTER_MODE_POINT,
CU_TR_FILTER_MODE_LINEAR};





enum CUdevice_attribute_enum {
CU_DEVICE_ATTRIBUTE_MAX_THREADS_PER_BLOCK = 1,
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_X,
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Y,
CU_DEVICE_ATTRIBUTE_MAX_BLOCK_DIM_Z,
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_X,
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Y,
CU_DEVICE_ATTRIBUTE_MAX_GRID_DIM_Z,
CU_DEVICE_ATTRIBUTE_MAX_SHARED_MEMORY_PER_BLOCK,
CU_DEVICE_ATTRIBUTE_SHARED_MEMORY_PER_BLOCK = 8,
CU_DEVICE_ATTRIBUTE_TOTAL_CONSTANT_MEMORY,
CU_DEVICE_ATTRIBUTE_WARP_SIZE,
CU_DEVICE_ATTRIBUTE_MAX_PITCH,
CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_BLOCK,
CU_DEVICE_ATTRIBUTE_REGISTERS_PER_BLOCK = 12,
CU_DEVICE_ATTRIBUTE_CLOCK_RATE,
CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT,

CU_DEVICE_ATTRIBUTE_GPU_OVERLAP,
CU_DEVICE_ATTRIBUTE_MULTIPROCESSOR_COUNT,
CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT,
CU_DEVICE_ATTRIBUTE_INTEGRATED,
CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY,
CU_DEVICE_ATTRIBUTE_COMPUTE_MODE,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE1D_WIDTH,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_WIDTH,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_HEIGHT,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_WIDTH,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_HEIGHT,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE3D_DEPTH,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_WIDTH,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_HEIGHT,
CU_DEVICE_ATTRIBUTE_MAXIMUM_TEXTURE2D_ARRAY_NUMSLICES,
CU_DEVICE_ATTRIBUTE_SURFACE_ALIGNMENT,
CU_DEVICE_ATTRIBUTE_CONCURRENT_KERNELS,
CU_DEVICE_ATTRIBUTE_ECC_ENABLED};
# 197 "/opt/cuda/bin/../include/cuda.h"
enum CUfunction_attribute_enum {
# 203 "/opt/cuda/bin/../include/cuda.h"
CU_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK,
# 210 "/opt/cuda/bin/../include/cuda.h"
CU_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES,
# 216 "/opt/cuda/bin/../include/cuda.h"
CU_FUNC_ATTRIBUTE_CONST_SIZE_BYTES,




CU_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES,




CU_FUNC_ATTRIBUTE_NUM_REGS,




CU_FUNC_ATTRIBUTE_PTX_VERSION,




CU_FUNC_ATTRIBUTE_BINARY_VERSION,

CU_FUNC_ATTRIBUTE_MAX};





enum CUfunc_cache_enum {
CU_FUNC_CACHE_PREFER_NONE,
CU_FUNC_CACHE_PREFER_SHARED,
CU_FUNC_CACHE_PREFER_L1};





enum CUmemorytype_enum {
CU_MEMORYTYPE_HOST = 1,
CU_MEMORYTYPE_DEVICE,
CU_MEMORYTYPE_ARRAY};





enum CUcomputemode_enum {
CU_COMPUTEMODE_DEFAULT,
CU_COMPUTEMODE_EXCLUSIVE,
CU_COMPUTEMODE_PROHIBITED};





enum CUjit_option_enum {
# 277 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_MAX_REGISTERS,
# 290 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_THREADS_PER_BLOCK,
# 297 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_WALL_TIME,
# 305 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_INFO_LOG_BUFFER,
# 313 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_INFO_LOG_BUFFER_SIZE_BYTES,
# 321 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_ERROR_LOG_BUFFER,
# 329 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_ERROR_LOG_BUFFER_SIZE_BYTES,
# 336 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_OPTIMIZATION_LEVEL,
# 343 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_TARGET_FROM_CUCONTEXT,
# 349 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_TARGET,
# 356 "/opt/cuda/bin/../include/cuda.h"
CU_JIT_FALLBACK_STRATEGY};
# 363 "/opt/cuda/bin/../include/cuda.h"
enum CUjit_target_enum {

CU_TARGET_COMPUTE_10,
CU_TARGET_COMPUTE_11,
CU_TARGET_COMPUTE_12,
CU_TARGET_COMPUTE_13,
CU_TARGET_COMPUTE_20};





enum CUjit_fallback_enum {


CU_PREFER_PTX,


CU_PREFER_BINARY};
# 388 "/opt/cuda/bin/../include/cuda.h"
enum CUgraphicsRegisterFlags_enum {
CU_GRAPHICS_REGISTER_FLAGS_NONE};





enum CUgraphicsMapResourceFlags_enum {
CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE,
CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY,
CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD};





enum CUarray_cubemap_face_enum {
CU_CUBEMAP_FACE_POSITIVE_X,
CU_CUBEMAP_FACE_NEGATIVE_X,
CU_CUBEMAP_FACE_POSITIVE_Y,
CU_CUBEMAP_FACE_NEGATIVE_Y,
CU_CUBEMAP_FACE_POSITIVE_Z,
CU_CUBEMAP_FACE_NEGATIVE_Z};
# 422 "/opt/cuda/bin/../include/cuda.h"
enum cudaError_enum {

CUDA_SUCCESS,
CUDA_ERROR_INVALID_VALUE,
CUDA_ERROR_OUT_OF_MEMORY,
CUDA_ERROR_NOT_INITIALIZED,
CUDA_ERROR_DEINITIALIZED,

CUDA_ERROR_NO_DEVICE = 100,
CUDA_ERROR_INVALID_DEVICE,

CUDA_ERROR_INVALID_IMAGE = 200,
CUDA_ERROR_INVALID_CONTEXT,
CUDA_ERROR_CONTEXT_ALREADY_CURRENT,
CUDA_ERROR_MAP_FAILED = 205,
CUDA_ERROR_UNMAP_FAILED,
CUDA_ERROR_ARRAY_IS_MAPPED,
CUDA_ERROR_ALREADY_MAPPED,
CUDA_ERROR_NO_BINARY_FOR_GPU,
CUDA_ERROR_ALREADY_ACQUIRED,
CUDA_ERROR_NOT_MAPPED,
CUDA_ERROR_NOT_MAPPED_AS_ARRAY,
CUDA_ERROR_NOT_MAPPED_AS_POINTER,
CUDA_ERROR_ECC_UNCORRECTABLE,

CUDA_ERROR_INVALID_SOURCE = 300,
CUDA_ERROR_FILE_NOT_FOUND,

CUDA_ERROR_INVALID_HANDLE = 400,

CUDA_ERROR_NOT_FOUND = 500,

CUDA_ERROR_NOT_READY = 600,

CUDA_ERROR_LAUNCH_FAILED = 700,
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES,
CUDA_ERROR_LAUNCH_TIMEOUT,
CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING,

CUDA_ERROR_POINTER_IS_64BIT = 800,
CUDA_ERROR_SIZE_IS_64BIT,

CUDA_ERROR_UNKNOWN = 999};
# 134 "/usr/include/c++/4.4/bits/cpp_type_traits.h" 3
enum __E24 { _ZNSt12__is_integerIdE7__valueE};
# 61 "/opt/cuda/bin/../include/cufft.h"
enum cufftResult_t {
CUFFT_SUCCESS,
CUFFT_INVALID_PLAN,
CUFFT_ALLOC_FAILED,
CUFFT_INVALID_TYPE,
CUFFT_INVALID_VALUE,
CUFFT_INTERNAL_ERROR,
CUFFT_EXEC_FAILED,
CUFFT_SETUP_FAILED,
CUFFT_INVALID_SIZE};
# 94 "/opt/cuda/bin/../include/cufft.h"
enum cufftType_t {
CUFFT_R2C = 42,
CUFFT_C2R = 44,
CUFFT_C2C = 41,
CUFFT_D2Z = 106,
CUFFT_Z2D = 108,
CUFFT_Z2Z = 105};
# 14 "../typedefs.h"
struct LocalMatrix;




struct ScoringsMatrix;




struct GlobalMatrix;



struct BlockMaxima;



struct GlobalMaxima;



struct LocalDirection;



struct Direction;



struct GlobalDirection;



struct StartingPoint;
# 60 "../typedefs.h"
struct StartingPoints;
# 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h" 3
typedef unsigned long size_t;
#include "crt/host_runtime.h"
# 145 "/usr/include/bits/types.h" 3
typedef long __clock_t;
# 60 "/usr/include/time.h" 3
typedef __clock_t clock_t;
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li1EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li1EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li2EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li2EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIiLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIjLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI4int4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5uint4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIfLi3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float1Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float2Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6float4Li3EL19cudaTextureReadMode0EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIcLi3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIaLi3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIhLi3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char1Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar1Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char2Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar2Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI5char4Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6uchar4Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureIsLi3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureItLi3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short1Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort1Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short2Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort2Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI6short4Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 60 "/opt/cuda/bin/../include/cuda_texture_types.h"
struct _Z7textureI7ushort4Li3EL19cudaTextureReadMode1EE { struct textureReference __b_16textureReference;};
# 49 "/usr/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 14 "../typedefs.h"
struct LocalMatrix {
float value[8][8];};
typedef struct LocalMatrix LocalMatrix;


struct ScoringsMatrix {
LocalMatrix matrix[58][15];};
typedef struct ScoringsMatrix ScoringsMatrix;


struct GlobalMatrix {
ScoringsMatrix metaMatrix[25][323];};
typedef struct GlobalMatrix GlobalMatrix;

struct BlockMaxima {
float value[58][15];};
typedef struct BlockMaxima BlockMaxima;

struct GlobalMaxima {
BlockMaxima blockMaxima[25][323];};
typedef struct GlobalMaxima GlobalMaxima;

struct LocalDirection {
unsigned char value[8][8];};
typedef struct LocalDirection LocalDirection;

struct Direction {
LocalDirection localDirection[58][15];};
typedef struct Direction Direction;

struct GlobalDirection {
Direction direction[25][323];};
typedef struct GlobalDirection GlobalDirection;

struct StartingPoint {
unsigned sequence;
unsigned target;
unsigned blockX;
unsigned blockY;
unsigned valueX;
unsigned valueY;
float score;
float maxScore;
float posScore;};
typedef struct StartingPoint StartingPoint;

struct StartingPoints {
StartingPoint startingPoint[8075000];};
typedef struct StartingPoints StartingPoints;
void *memcpy(void*, const void*, size_t); void *memset(void*, int, size_t);
# 101 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern cudaError_t cudaMalloc(void **, size_t);
# 109 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern cudaError_t cudaHostAlloc(void **, size_t, unsigned);
extern cudaError_t cudaHostGetDevicePointer(void **, void *, unsigned);
# 120 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern cudaError_t cudaMemcpy(void *, const void *, size_t, enum cudaMemcpyKind);
# 207 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern const char *cudaGetErrorString(cudaError_t);
# 215 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern cudaError_t cudaConfigureCall(dim3, dim3, size_t, cudaStream_t);
# 262 "/opt/cuda/bin/../include/cuda_runtime_api.h"
extern cudaError_t cudaThreadSynchronize(void);
# 183 "/usr/include/time.h" 3
extern  __attribute__((__extern_weak__ __weak__)) clock_t clock(void);
# 62 "/opt/cuda/bin/../include/common_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) void *memcpy(void *__restrict__, const void *__restrict__, size_t);
# 59 "/opt/cuda/bin/../include/common_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) void *memset(void *, int, size_t);
# 65 "/opt/cuda/bin/../include/math_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) abs(int);

extern  __attribute__((__extern_weak__ __weak__)) long __attribute__((__const__)) labs(long);

extern  __attribute__((__extern_weak__ __weak__)) long long __attribute__((__const__)) llabs(long long);

extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) fabs(double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) fabsf(float);


extern  __attribute__((__extern_weak__ __weak__)) int min(int, int);

extern  __attribute__((__extern_weak__ __weak__)) unsigned umin(unsigned, unsigned);

extern  __attribute__((__extern_weak__ __weak__)) long long llmin(long long, long long);

extern  __attribute__((__extern_weak__ __weak__)) unsigned long long ullmin(unsigned long long, unsigned long long);

extern  __attribute__((__extern_weak__ __weak__)) float fminf(float, float);

extern  __attribute__((__extern_weak__ __weak__)) double fmin(double, double);


extern  __attribute__((__extern_weak__ __weak__)) int max(int, int);

extern  __attribute__((__extern_weak__ __weak__)) unsigned umax(unsigned, unsigned);

extern  __attribute__((__extern_weak__ __weak__)) long long llmax(long long, long long);

extern  __attribute__((__extern_weak__ __weak__)) unsigned long long ullmax(unsigned long long, unsigned long long);

extern  __attribute__((__extern_weak__ __weak__)) float fmaxf(float, float);

extern  __attribute__((__extern_weak__ __weak__)) double fmax(double, double);


extern  __attribute__((__extern_weak__ __weak__)) double sin(double);

extern  __attribute__((__extern_weak__ __weak__)) float sinf(float);


extern  __attribute__((__extern_weak__ __weak__)) double cos(double);

extern  __attribute__((__extern_weak__ __weak__)) float cosf(float);


extern  __attribute__((__extern_weak__ __weak__)) void sincos(double, double *, double *);

extern  __attribute__((__extern_weak__ __weak__)) void sincosf(float, float *, float *);


extern  __attribute__((__extern_weak__ __weak__)) double tan(double);

extern  __attribute__((__extern_weak__ __weak__)) float tanf(float);


extern  __attribute__((__extern_weak__ __weak__)) double sqrt(double);

extern  __attribute__((__extern_weak__ __weak__)) float sqrtf(float);


extern  __attribute__((__extern_weak__ __weak__)) double rsqrt(double);

extern  __attribute__((__extern_weak__ __weak__)) float rsqrtf(float);


extern  __attribute__((__extern_weak__ __weak__)) double exp2(double);

extern  __attribute__((__extern_weak__ __weak__)) float exp2f(float);


extern  __attribute__((__extern_weak__ __weak__)) double exp10(double);

extern  __attribute__((__extern_weak__ __weak__)) float exp10f(float);


extern  __attribute__((__extern_weak__ __weak__)) double expm1(double);

extern  __attribute__((__extern_weak__ __weak__)) float expm1f(float);


extern  __attribute__((__extern_weak__ __weak__)) double log2(double);

extern  __attribute__((__extern_weak__ __weak__)) float log2f(float);


extern  __attribute__((__extern_weak__ __weak__)) double log10(double);

extern  __attribute__((__extern_weak__ __weak__)) float log10f(float);


extern  __attribute__((__extern_weak__ __weak__)) double log(double);

extern  __attribute__((__extern_weak__ __weak__)) float logf(float);


extern  __attribute__((__extern_weak__ __weak__)) double log1p(double);

extern  __attribute__((__extern_weak__ __weak__)) float log1pf(float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) floor(double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) floorf(float);


extern  __attribute__((__extern_weak__ __weak__)) double exp(double);

extern  __attribute__((__extern_weak__ __weak__)) float expf(float);


extern  __attribute__((__extern_weak__ __weak__)) double cosh(double);

extern  __attribute__((__extern_weak__ __weak__)) float coshf(float);


extern  __attribute__((__extern_weak__ __weak__)) double sinh(double);

extern  __attribute__((__extern_weak__ __weak__)) float sinhf(float);


extern  __attribute__((__extern_weak__ __weak__)) double tanh(double);

extern  __attribute__((__extern_weak__ __weak__)) float tanhf(float);


extern  __attribute__((__extern_weak__ __weak__)) double acosh(double);

extern  __attribute__((__extern_weak__ __weak__)) float acoshf(float);


extern  __attribute__((__extern_weak__ __weak__)) double asinh(double);

extern  __attribute__((__extern_weak__ __weak__)) float asinhf(float);


extern  __attribute__((__extern_weak__ __weak__)) double atanh(double);

extern  __attribute__((__extern_weak__ __weak__)) float atanhf(float);


extern  __attribute__((__extern_weak__ __weak__)) double ldexp(double, int);

extern  __attribute__((__extern_weak__ __weak__)) float ldexpf(float, int);


extern  __attribute__((__extern_weak__ __weak__)) double logb(double);

extern  __attribute__((__extern_weak__ __weak__)) float logbf(float);


extern  __attribute__((__extern_weak__ __weak__)) int ilogb(double);

extern  __attribute__((__extern_weak__ __weak__)) int ilogbf(float);


extern  __attribute__((__extern_weak__ __weak__)) double scalbn(double, int);

extern  __attribute__((__extern_weak__ __weak__)) float scalbnf(float, int);


extern  __attribute__((__extern_weak__ __weak__)) double scalbln(double, long);

extern  __attribute__((__extern_weak__ __weak__)) float scalblnf(float, long);


extern  __attribute__((__extern_weak__ __weak__)) double frexp(double, int *);

extern  __attribute__((__extern_weak__ __weak__)) float frexpf(float, int *);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) round(double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) roundf(float);


extern  __attribute__((__extern_weak__ __weak__)) long lround(double);

extern  __attribute__((__extern_weak__ __weak__)) long lroundf(float);


extern  __attribute__((__extern_weak__ __weak__)) long long llround(double);

extern  __attribute__((__extern_weak__ __weak__)) long long llroundf(float);


extern  __attribute__((__extern_weak__ __weak__)) double rint(double);

extern  __attribute__((__extern_weak__ __weak__)) float rintf(float);


extern  __attribute__((__extern_weak__ __weak__)) long lrint(double);

extern  __attribute__((__extern_weak__ __weak__)) long lrintf(float);


extern  __attribute__((__extern_weak__ __weak__)) long long llrint(double);

extern  __attribute__((__extern_weak__ __weak__)) long long llrintf(float);


extern  __attribute__((__extern_weak__ __weak__)) double nearbyint(double);

extern  __attribute__((__extern_weak__ __weak__)) float nearbyintf(float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) ceil(double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) ceilf(float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) trunc(double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) truncf(float);


extern  __attribute__((__extern_weak__ __weak__)) double fdim(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float fdimf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double atan2(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float atan2f(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double atan(double);

extern  __attribute__((__extern_weak__ __weak__)) float atanf(float);


extern  __attribute__((__extern_weak__ __weak__)) double asin(double);

extern  __attribute__((__extern_weak__ __weak__)) float asinf(float);


extern  __attribute__((__extern_weak__ __weak__)) double acos(double);

extern  __attribute__((__extern_weak__ __weak__)) float acosf(float);


extern  __attribute__((__extern_weak__ __weak__)) double hypot(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float hypotf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double cbrt(double);

extern  __attribute__((__extern_weak__ __weak__)) float cbrtf(float);


extern  __attribute__((__extern_weak__ __weak__)) double rcbrt(double);

extern  __attribute__((__extern_weak__ __weak__)) float rcbrtf(float);


extern  __attribute__((__extern_weak__ __weak__)) double sinpi(double);

extern  __attribute__((__extern_weak__ __weak__)) float sinpif(float);


extern  __attribute__((__extern_weak__ __weak__)) double pow(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float powf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double modf(double, double *);

extern  __attribute__((__extern_weak__ __weak__)) float modff(float, float *);


extern  __attribute__((__extern_weak__ __weak__)) double fmod(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float fmodf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double remainder(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float remainderf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double remquo(double, double, int *);

extern  __attribute__((__extern_weak__ __weak__)) float remquof(float, float, int *);


extern  __attribute__((__extern_weak__ __weak__)) double erf(double);

extern  __attribute__((__extern_weak__ __weak__)) float erff(float);


extern  __attribute__((__extern_weak__ __weak__)) double erfinv(double);

extern  __attribute__((__extern_weak__ __weak__)) float erfinvf(float);


extern  __attribute__((__extern_weak__ __weak__)) double erfc(double);

extern  __attribute__((__extern_weak__ __weak__)) float erfcf(float);


extern  __attribute__((__extern_weak__ __weak__)) double erfcinv(double);

extern  __attribute__((__extern_weak__ __weak__)) float erfcinvf(float);


extern  __attribute__((__extern_weak__ __weak__)) double lgamma(double);

extern  __attribute__((__extern_weak__ __weak__)) float lgammaf(float);


extern  __attribute__((__extern_weak__ __weak__)) double tgamma(double);

extern  __attribute__((__extern_weak__ __weak__)) float tgammaf(float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) copysign(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) copysignf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) nextafter(double, double);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) nextafterf(float, float);


extern  __attribute__((__extern_weak__ __weak__)) double __attribute__((__const__)) nan(const char *);

extern  __attribute__((__extern_weak__ __weak__)) float __attribute__((__const__)) nanf(const char *);


extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isinf(double);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isinff(float);


extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isnan(double);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isnanf(float);
# 418 "/opt/cuda/bin/../include/math_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __finite(double);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __finitef(float);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __signbit(double);




extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __signbitf(float);


extern  __attribute__((__extern_weak__ __weak__)) double fma(double, double, double);

extern  __attribute__((__extern_weak__ __weak__)) float fmaf(float, float, float);
# 440 "/opt/cuda/bin/../include/math_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __signbitl(long double);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isinfl(long double);

extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __isnanl(long double);
# 454 "/opt/cuda/bin/../include/math_functions.h"
extern  __attribute__((__extern_weak__ __weak__)) int __attribute__((__const__)) __finitel(long double);
# 471 "/usr/include/stdlib.h" 3
extern void *__attribute__((__malloc__)) malloc(size_t);
# 488 "/usr/include/stdlib.h" 3
extern void free(void *);
# 543 "/usr/include/stdlib.h" 3
extern void __attribute__((__noreturn__)) exit(int);
# 333 "/usr/include/stdio.h" 3
extern int fprintf(FILE *__restrict__, const char *__restrict__, ...);





extern int printf(const char *__restrict__, ...);
# 16 "../smithwaterman.cu"
extern void _Z4initPPcS0_S0_S0_PP12GlobalMatrixS3_PP12GlobalMaximaS6_PP15GlobalDirectionS9_S9_PP14StartingPointsSC_PPfSE_4dim3i(char **, char **, char **, char **, GlobalMatrix **, GlobalMatrix **, GlobalMaxima **, GlobalMaxima **, GlobalDirection **, GlobalDirection **, GlobalDirection **, StartingPoints **, StartingPoints **, float **, float **, dim3, int);
# 63 "../smithwaterman.cu"
extern void _Z12initZeroCopyPPj(unsigned **);
# 74 "../smithwaterman.cu"
extern void _Z18calculateScoreHostP12GlobalMatrixPcS1_P12GlobalMaximaP15GlobalDirection(GlobalMatrix *, char *, char *, GlobalMaxima *, GlobalDirection *);
# 290 "../smithwaterman.cu"
extern void _Z13tracebackHostP12GlobalMatrixP12GlobalMaximaP15GlobalDirectionS4_PjP14StartingPointsPfi(GlobalMatrix *, GlobalMaxima *, GlobalDirection *, GlobalDirection *, unsigned *, StartingPoints *, float *, int);
# 471 "../smithwaterman.cu"
extern void _Z14plotAlignmentsPcS_P15GlobalDirectionjP14StartingPointsiiS_S_(char *, char *, GlobalDirection *, unsigned, StartingPoints *, int, int, char *, char *);
static void __sti___21_smithwaterman_cpp1_ii_f8a4b240(void) __attribute__((__constructor__));
# 147 "/usr/include/stdio.h" 3
extern struct _IO_FILE *stderr;
#include "smithwaterman.cudafe1.stub.h"
# 88 "../definitions.h"
__loc_sc__(__constant__,,) float __shadow_var(scoringsMatrix,scoringsMatrix)[26][26];
# 16 "../smithwaterman.cu"
void _Z4initPPcS0_S0_S0_PP12GlobalMatrixS3_PP12GlobalMaximaS6_PP15GlobalDirectionS9_S9_PP14StartingPointsSC_PPfSE_4dim3i( char **h_sequences,  char **h_targets, 
char **d_sequences,  char **d_targets, 
GlobalMatrix **h_matrix,  GlobalMatrix **d_matrix, 
GlobalMaxima **h_globalMaxima,  GlobalMaxima **d_globalMaxima, 
GlobalDirection **d_globalDirection, 
GlobalDirection **h_globalDirectionZeroCopy,  GlobalDirection **d_globalDirectionZeroCopy, 
StartingPoints **h_startingPointsZeroCopy,  StartingPoints **d_startingPointsZeroCopy, 
float **h_maxPossibleScoreZeroCopy,  float **d_maxPossibleScoreZeroCopy, 
dim3 superBlocks, 
int device) { auto enum cudaError __T22;
auto const char *__T23;
auto enum cudaError __T24;
auto const char *__T25;
# 27 "../smithwaterman.cu"
if (!(*h_sequences)) {
(*h_sequences) = ((char *)(malloc((11600UL * ((unsigned long)(superBlocks.x)))))); }

if (!(*h_targets)) {
(*h_targets) = ((char *)(malloc((38760UL * ((unsigned long)(superBlocks.y)))))); }

{ __T22 = (cudaMalloc(((void **)d_sequences), 11600UL)); __T23 = ((const char *)"../smithwaterman.cu"); { if (0 != ((int)__T22)) { fprintf(stderr, ((const char *)"%s(%i) : cudaSafeCall() Runtime API error : %s.\n"), __T23, 33, (cudaGetErrorString(__T22))); exit((-1)); } } }
{ __T24 = (cudaMalloc(((void **)d_targets), 38760UL)); __T25 = ((const char *)"../smithwaterman.cu"); { if (0 != ((int)__T24)) { fprintf(stderr, ((const char *)"%s(%i) : cudaSafeCall() Runtime API error : %s.\n"), __T25, 34, (cudaGetErrorString(__T24))); exit((-1)); } } }


cudaMalloc(((void **)d_matrix), 1798464000UL);
if (!(*h_matrix)) {
(*h_matrix) = ((GlobalMatrix *)(malloc(1798464000UL))); }

cudaMalloc(((void **)d_globalMaxima), 28101000UL);
if (!(*h_globalMaxima)) {
(*h_globalMaxima) = ((GlobalMaxima *)(malloc(28101000UL))); }

cudaMalloc(((void **)d_globalDirection), 449616000UL);

cudaHostAlloc(((void **)h_startingPointsZeroCopy), 290700000UL, 2U);
cudaHostGetDevicePointer(((void **)d_startingPointsZeroCopy), ((void *)(*h_startingPointsZeroCopy)), 0U);

cudaHostAlloc(((void **)h_maxPossibleScoreZeroCopy), (100UL * ((unsigned long)(superBlocks.x))), 2U);
cudaHostGetDevicePointer(((void **)d_maxPossibleScoreZeroCopy), ((void *)(*h_maxPossibleScoreZeroCopy)), 0U);


cudaHostAlloc(((void **)h_globalDirectionZeroCopy), 449616000UL, 2U);
cudaHostGetDevicePointer(((void **)d_globalDirectionZeroCopy), ((void *)(*h_globalDirectionZeroCopy)), 0U);

fprintf(stderr, ((const char *)"%d mb of memory allocated on device number: %d\n"), 2170, device); 



}

void _Z12initZeroCopyPPj( unsigned **d_indexIncrement) {


auto unsigned index[1];
# 65 "../smithwaterman.cu"
cudaMalloc(((void **)d_indexIncrement), 4UL);

(*(index)) = 0U;
cudaMemcpy(((void *)(*d_indexIncrement)), ((const void *)(index)), 4UL, cudaMemcpyHostToDevice); 

}



void _Z18calculateScoreHostP12GlobalMatrixPcS1_P12GlobalMaximaP15GlobalDirection( GlobalMatrix *d_matrix,  char *d_sequences,  char *d_targets,  GlobalMaxima *d_globalMaxima,  GlobalDirection *d_globalDirection) {
auto unsigned maxNumberOfBlocks;
auto unsigned startDecreaseAt;
auto unsigned numberOfBlocks;
auto unsigned x;
auto unsigned y;
auto dim3 dimBlock;
# 75 "../smithwaterman.cu"
maxNumberOfBlocks = ((unsigned)(min(58, 15)));
startDecreaseAt = (73U - maxNumberOfBlocks);
numberOfBlocks = 0U;
x = 0U;
y = 0U;
{ (dimBlock.x) = 8U; (dimBlock.y) = 8U; (dimBlock.z) = 1U; } {



auto unsigned i;
# 84 "../smithwaterman.cu"
i = 1U; for (; (i < 73U); ++i) { auto unsigned __T26;
# 91 "../smithwaterman.cu"
auto dim3 __cuda_local_var_22216_8_dimGridSW;
# 85 "../smithwaterman.cu"
if (i <= maxNumberOfBlocks) {
numberOfBlocks = i; } else  {
if (i >= startDecreaseAt) {
numberOfBlocks = (73U - i); } else  {

numberOfBlocks = maxNumberOfBlocks; } }
{ __T26 = (323U * numberOfBlocks); { (__cuda_local_var_22216_8_dimGridSW.x) = 25U; (__cuda_local_var_22216_8_dimGridSW.y) = __T26; (__cuda_local_var_22216_8_dimGridSW.z) = 1U; } }


(cudaConfigureCall(__cuda_local_var_22216_8_dimGridSW, dimBlock, 0UL, 0)) ? ((void)0) : (__device_stub__Z14calculateScoreP12GlobalMatrixjjjPcS1_P12GlobalMaximaP15GlobalDirection(d_matrix, x, y, numberOfBlocks, d_sequences, d_targets, d_globalMaxima, d_globalDirection));
cudaThreadSynchronize();
if (x == 57U) {
++y; }
if (x < 57U) {
++x; }
} } 
}
# 290 "../smithwaterman.cu"
void _Z13tracebackHostP12GlobalMatrixP12GlobalMaximaP15GlobalDirectionS4_PjP14StartingPointsPfi( GlobalMatrix *d_matrix,  GlobalMaxima *d_globalMaxima,  GlobalDirection *d_globalDirection,  GlobalDirection *d_globalDirectionZeroCopy,  unsigned *d_indexIncrement,  StartingPoints *d_startingPoints,  float *d_maxPossibleScore,  int inBlock) {
auto unsigned maxNumberOfBlocks;
auto unsigned startDecreaseAt;
auto unsigned numberOfBlocks;
auto unsigned x;
auto unsigned y;
auto dim3 dimBlock;
# 291 "../smithwaterman.cu"
maxNumberOfBlocks = ((unsigned)(min(58, 15)));
startDecreaseAt = (73U - maxNumberOfBlocks);
numberOfBlocks = 0U;
x = 57U;
y = 14U;
{ (dimBlock.x) = 8U; (dimBlock.y) = 8U; (dimBlock.z) = 1U; } {



auto unsigned i;
# 300 "../smithwaterman.cu"
i = 1U; for (; (i < 73U); ++i) { auto unsigned __T28;
# 307 "../smithwaterman.cu"
auto dim3 __cuda_local_var_22432_8_dimGridSW;
# 301 "../smithwaterman.cu"
if (i <= maxNumberOfBlocks) {
numberOfBlocks = i; } else  {
if (i >= startDecreaseAt) {
numberOfBlocks = (73U - i); } else  {

numberOfBlocks = maxNumberOfBlocks; } }
{ __T28 = (323U * numberOfBlocks); { (__cuda_local_var_22432_8_dimGridSW.x) = 25U; (__cuda_local_var_22432_8_dimGridSW.y) = __T28; (__cuda_local_var_22432_8_dimGridSW.z) = 1U; } }

(cudaConfigureCall(__cuda_local_var_22432_8_dimGridSW, dimBlock, 0UL, 0)) ? ((void)0) : (__device_stub__Z9tracebackP12GlobalMatrixjjjP12GlobalMaximaP15GlobalDirectionS4_PjP14StartingPointsPfi(d_matrix, x, y, numberOfBlocks, d_globalMaxima, d_globalDirection, d_globalDirectionZeroCopy, d_indexIncrement, d_startingPoints, d_maxPossibleScore, inBlock));
cudaThreadSynchronize();
if (y == 0U) {
--x; }
if (y > 0U) {
--y; }
} } 
}
# 471 "../smithwaterman.cu"
void _Z14plotAlignmentsPcS_P15GlobalDirectionjP14StartingPointsiiS_S_( char *sequences,  char *targets,  GlobalDirection *globalDirectionZeroCopy,  unsigned index,  StartingPoints *startingPoints,  int offset,  int offsetTarget,  char *descSequences,  char *descTargets) {

auto char *target;
auto char *sequence;
auto char *alignment;
# 485 "../smithwaterman.cu"
auto float maxScore;
# 473 "../smithwaterman.cu"
target = ((char *)0);
sequence = ((char *)0);
alignment = ((char *)0);

target = ((char *)(malloc(1168UL)));
sequence = ((char *)(malloc(1168UL)));
alignment = ((char *)(malloc(1168UL)));

if ((!(offset)) && (!(offsetTarget))) {

printf(((const char *)"QUERYLOCUS\tTARGETLOCUS\tRELATIVESCORE\tALIGNMENTLENGTH\tGAPS\tMATCHES\tQUERYSTART\tQUERYEND\tTARGETSTART\tTARGETEND\tSCORE\tTAR" "GETNT\tALIGN\tQUERYNT\n")); }

maxScore = (0.0F); {
auto int i;
# 486 "../smithwaterman.cu"
i = 0; for (; (((unsigned)i) < index); i++) {

auto int alignmentLength;
auto int gapsSeq;
auto int gapsTarget;
auto int matches;
auto int mismatches;
auto int qEnd;
auto int tEnd;
# 510 "../smithwaterman.cu"
auto long __cuda_local_var_22635_8_targetStartingPoint;
auto long __cuda_local_var_22636_8_sequenceStartingPoint;

auto long __cuda_local_var_22638_8_blockX;
auto long __cuda_local_var_22639_8_blockY;
auto long __cuda_local_var_22640_8_valueX;
auto long __cuda_local_var_22641_8_valueY;

auto long __cuda_local_var_22643_8_localIndex;

auto unsigned char __cuda_local_var_22645_17_direction;
# 488 "../smithwaterman.cu"
alignmentLength = 0;
gapsSeq = 0;
gapsTarget = 0;
matches = 0;
mismatches = 0;
qEnd = ((int)((((((startingPoints->startingPoint))[i]).blockX) * 8U) + ((((startingPoints->startingPoint))[i]).valueX)));
tEnd = ((int)((((((startingPoints->startingPoint))[i]).blockY) * 8U) + ((((startingPoints->startingPoint))[i]).valueY)));
# 508 "../smithwaterman.cu"
maxScore = ((((((startingPoints->startingPoint))[i]).score) > maxScore) ? ((((startingPoints->startingPoint))[i]).score) : maxScore);

__cuda_local_var_22635_8_targetStartingPoint = ((long)((((startingPoints->startingPoint))[i]).target));
__cuda_local_var_22636_8_sequenceStartingPoint = ((long)((((startingPoints->startingPoint))[i]).sequence));

__cuda_local_var_22638_8_blockX = ((long)((((startingPoints->startingPoint))[i]).blockX));
__cuda_local_var_22639_8_blockY = ((long)((((startingPoints->startingPoint))[i]).blockY));
__cuda_local_var_22640_8_valueX = ((long)((((startingPoints->startingPoint))[i]).valueX));
__cuda_local_var_22641_8_valueY = ((long)((((startingPoints->startingPoint))[i]).valueY));

__cuda_local_var_22643_8_localIndex = 0L;

__cuda_local_var_22645_17_direction = (((((((((((((((globalDirectionZeroCopy->direction))[__cuda_local_var_22636_8_sequenceStartingPoint]))[__cuda_local_var_22635_8_targetStartingPoint]).localDirection))[__cuda_local_var_22638_8_blockX]))[__cuda_local_var_22639_8_blockY]).value))[__cuda_local_var_22640_8_valueX]))[__cuda_local_var_22641_8_valueY]);

while ((((((__cuda_local_var_22638_8_blockX >= 0L) && (__cuda_local_var_22639_8_blockY >= 0L)) && (__cuda_local_var_22640_8_valueX >= 0L)) && (__cuda_local_var_22641_8_valueY >= 0L)) && (((int)__cuda_local_var_22645_17_direction) != 4)) && (((int)__cuda_local_var_22645_17_direction) != 0))
{
__cuda_local_var_22645_17_direction = (((((((((((((((globalDirectionZeroCopy->direction))[__cuda_local_var_22636_8_sequenceStartingPoint]))[__cuda_local_var_22635_8_targetStartingPoint]).localDirection))[__cuda_local_var_22638_8_blockX]))[__cuda_local_var_22639_8_blockY]).value))[__cuda_local_var_22640_8_valueX]))[__cuda_local_var_22641_8_valueY]);



alignmentLength++;
switch ((int)__cuda_local_var_22645_17_direction) {
case 1:
(target[__cuda_local_var_22643_8_localIndex]) = (targets[((((__cuda_local_var_22635_8_targetStartingPoint * 120L) + (__cuda_local_var_22639_8_blockY * 8L)) + __cuda_local_var_22641_8_valueY) + ((long)(offsetTarget * 120)))]);
(sequence[__cuda_local_var_22643_8_localIndex]) = (sequences[((((__cuda_local_var_22636_8_sequenceStartingPoint * 464L) + (__cuda_local_var_22638_8_blockX * 8L)) + __cuda_local_var_22640_8_valueX) + ((long)(offset * 464)))]);
(alignment[__cuda_local_var_22643_8_localIndex]) = ((((int)(target[__cuda_local_var_22643_8_localIndex])) == ((int)(sequence[__cuda_local_var_22643_8_localIndex]))) ? ((char)124) : ((char)46));
matches += ((((int)(target[__cuda_local_var_22643_8_localIndex])) == ((int)(sequence[__cuda_local_var_22643_8_localIndex]))) ? 1 : 0);
mismatches += ((((int)(target[__cuda_local_var_22643_8_localIndex])) != ((int)(sequence[__cuda_local_var_22643_8_localIndex]))) ? 1 : 0);
if (__cuda_local_var_22640_8_valueX == 0L) {
__cuda_local_var_22638_8_blockX--;
__cuda_local_var_22640_8_valueX = 7L;
} else  {

__cuda_local_var_22640_8_valueX--; }
if (__cuda_local_var_22641_8_valueY == 0L) {
__cuda_local_var_22639_8_blockY--;
__cuda_local_var_22641_8_valueY = 7L;
} else  {

__cuda_local_var_22641_8_valueY--; }
goto __T210;
case 3:
gapsTarget++;
(target[__cuda_local_var_22643_8_localIndex]) = ((char)45);
(sequence[__cuda_local_var_22643_8_localIndex]) = (sequences[((((__cuda_local_var_22636_8_sequenceStartingPoint * 464L) + (__cuda_local_var_22638_8_blockX * 8L)) + __cuda_local_var_22640_8_valueX) + ((long)(offset * 464)))]);
(alignment[__cuda_local_var_22643_8_localIndex]) = ((char)32);
if (__cuda_local_var_22640_8_valueX == 0L) {
__cuda_local_var_22638_8_blockX--;
__cuda_local_var_22640_8_valueX = 7L;
} else  {

__cuda_local_var_22640_8_valueX--; }
goto __T210;
case 2:
gapsSeq++;
(target[__cuda_local_var_22643_8_localIndex]) = (targets[((((__cuda_local_var_22635_8_targetStartingPoint * 120L) + (__cuda_local_var_22639_8_blockY * 8L)) + __cuda_local_var_22641_8_valueY) + ((long)(offsetTarget * 120)))]);
(sequence[__cuda_local_var_22643_8_localIndex]) = ((char)45);
(alignment[__cuda_local_var_22643_8_localIndex]) = ((char)32);
if (__cuda_local_var_22641_8_valueY == 0L) {
__cuda_local_var_22639_8_blockY--;
__cuda_local_var_22641_8_valueY = 7L;
} else  {

__cuda_local_var_22641_8_valueY--; }
goto __T210;
case 4:
matches += ((((int)(target[__cuda_local_var_22643_8_localIndex])) == ((int)(sequence[__cuda_local_var_22643_8_localIndex]))) ? 1 : 0);
(target[__cuda_local_var_22643_8_localIndex]) = (targets[((((__cuda_local_var_22635_8_targetStartingPoint * 120L) + (__cuda_local_var_22639_8_blockY * 8L)) + __cuda_local_var_22641_8_valueY) + ((long)(offsetTarget * 120)))]);
(sequence[__cuda_local_var_22643_8_localIndex]) = (sequences[((((__cuda_local_var_22636_8_sequenceStartingPoint * 464L) + (__cuda_local_var_22638_8_blockX * 8L)) + __cuda_local_var_22640_8_valueX) + ((long)(offset * 464)))]);
(alignment[__cuda_local_var_22643_8_localIndex]) = ((((int)(target[__cuda_local_var_22643_8_localIndex])) == ((int)(sequence[__cuda_local_var_22643_8_localIndex]))) ? ((char)124) : ((char)46));
goto __T210;
case 0:
default:
fprintf(stderr, ((const char *)"Warning: wrong value in direction matrix: %d!\n"), ((int)__cuda_local_var_22645_17_direction));
__cuda_local_var_22638_8_blockX = (-1L);
goto __T210;
} __T210:;
__cuda_local_var_22643_8_localIndex++;
}
if ((((double)((mismatches + gapsSeq) + gapsTarget)) / ((double)alignmentLength)) < (1.0)) {
# 594 "../smithwaterman.cu"
auto char __cuda_local_var_22719_10_swap;
# 588 "../smithwaterman.cu"
(target[__cuda_local_var_22643_8_localIndex]) = ((char)0);
(sequence[__cuda_local_var_22643_8_localIndex]) = ((char)0);
(alignment[__cuda_local_var_22643_8_localIndex]) = ((char)0); {




auto long iSwap;
# 595 "../smithwaterman.cu"
iSwap = 0L; for (; (iSwap < (__cuda_local_var_22643_8_localIndex / 2L)); iSwap++) {
__cuda_local_var_22719_10_swap = (target[iSwap]);
(target[iSwap]) = (target[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]);
(target[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]) = __cuda_local_var_22719_10_swap;
__cuda_local_var_22719_10_swap = (sequence[iSwap]);
(sequence[iSwap]) = (sequence[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]);
(sequence[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]) = __cuda_local_var_22719_10_swap;
__cuda_local_var_22719_10_swap = (alignment[iSwap]);
(alignment[iSwap]) = (alignment[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]);
(alignment[((__cuda_local_var_22643_8_localIndex - 1L) - iSwap)]) = __cuda_local_var_22719_10_swap;
} }

printf(((const char *)"%s\t%s\t"), ((descSequences + ((((((startingPoints->startingPoint))[i]).sequence) + ((unsigned)offset)) * 500U)) + 1), ((descTargets + ((((((startingPoints->startingPoint))[i]).target) + ((unsigned)offsetTarget)) * 500U)) + 1));


printf(((const char *)"%1.3f\t%i\t%i\t%i\t%i\t%i\t%i\t%i\t%1.0f\t%s\t%s\t%s\n"), ((double)(((((startingPoints->startingPoint))[i]).score) / ((float)alignmentLength))), alignmentLength, (gapsSeq + gapsTarget), matches, (((qEnd - alignmentLength) + gapsSeq) + 1), (qEnd + gapsSeq), (((tEnd - alignmentLength) + gapsTarget) + 1), (tEnd - gapsTarget), ((double)((((startingPoints->startingPoint))[i]).score)), target, alignment, sequence);


}
} }

free(((void *)target));
free(((void *)sequence));
free(((void *)alignment)); 
}
static void __sti___21_smithwaterman_cpp1_ii_f8a4b240(void) {   }

#include "smithwaterman.cudafe1.stub.c"
